﻿#pragma warning(disable: 4996)
#pragma warning(disable: 6031)

/*
7-48 求组合数 (15 分)
本题要求编写程序，根据公式
C ​n ​​ = ​n! / ​m!(n−m)!
​  m

​​算出从n个不同元素中取出m个元素（m≤n）的组合数。

建议定义和调用函数fact(n)计算n!，其中n的类型是int，函数类型是double。

输入格式:
输入在一行中给出两个正整数m和n（m≤n），以空格分隔。

输出格式:
按照格式“result = 组合数计算结果”输出。题目保证结果在double类型范围内。

输入样例:
2 7
输出样例:
result = 21
*/

#include <stdio.h>
#include <math.h>

int m, n;

double fact(int m, int n) {
	double a = 1;
	for (int i = m; i <= n; ++i)
		a *= i;
	return a;
}

void solve()
{
	double a = fact(m + 1, n) / fact(2, n - m);
	printf("result = %d\n", (int)a);
}

void read_data() 
{
	scanf("%d %d", &m, &n);
}

int main()
{
	freopen("D:/Develop/GitRepos/MOOC/浙江大学/数据结构/201906/DataStructure/M2019秋C入门和进阶练习集/7-48.txt", "r", stdin);
	read_data();
	solve();
	return 0;
}

